package com.modbus.tcp.mapper;

import com.modbus.tcp.domain.Ballvalveaddr;
import com.modbus.tcp.domain.Ballvalvedata;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 球阀modbus地址 数据层
 *
 * @author d
 * @date 2024-01-11
 */
@Repository
public interface BallvalveaddrMapper {



    public  Ballvalveaddr selectBallvalveByPartcode(@Param("id") long id,@Param("partcode") long partcode);
    /**
     * 查询球阀modbus地址信息
     *
     * @param ballvalueid 球阀modbus地址ID
     * @return 球阀modbus地址信息
     */
    public Ballvalveaddr selectBallvalveaddrById(Integer ballvalueid);

    /**
     * 查询球阀modbus地址列表
     *
     * @param ballvalveaddr 球阀modbus地址信息
     * @return 球阀modbus地址集合
     */
    public List<Ballvalveaddr> selectBallvalveaddrList(Ballvalveaddr ballvalveaddr);


    public List<Ballvalveaddr> allBallvalveaddr();

    public List<Ballvalveaddr> selectShengGuangOpen();


    public List<Ballvalveaddr> selectShengGuangClose();

    /**
     * 查询一个安装位置下的所有传感器值
     * @param id
     *
     * @return
     */
    public  List<Ballvalveaddr> selectSensorData(@Param("id")Integer id);

    /**
     * 新增球阀modbus地址
     *
     * @param ballvalveaddr 球阀modbus地址信息
     * @return 结果
     */
    public int insertBallvalveaddr(Ballvalveaddr ballvalveaddr);

    /**
     * 修改球阀modbus地址
     *
     * @param ballvalveaddr 球阀modbus地址信息
     * @return 结果
     */
    public int updateBallvalveaddr(Ballvalveaddr ballvalveaddr);

    /**
     * 删除球阀modbus地址
     *
     * @param ballvalueid 球阀modbus地址ID
     * @return 结果
     */
    public int deleteBallvalveaddrById(Integer ballvalueid);

    /**
     * 批量删除球阀modbus地址
     *
     * @param ballvalueids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBallvalveaddrByIds(String[] ballvalueids);
}